package com.itx.gatewayx.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.itx.gatewayx.domain.NewsComment;

/**
 * 新闻评论服务接口
 *
 * @author itx
 */
public interface NewsCommentService extends IService<NewsComment> {
    
    /**
     * 分页获取新闻评论
     *
     * @param current 当前页
     * @param size 每页大小
     * @param newsId 新闻ID
     * @return 评论分页列表
     */
    IPage<NewsComment> getCommentList(Long current, Long size, String newsId);
    
    /**
     * 添加评论
     *
     * @param comment 评论信息
     * @return 是否成功
     */
    boolean addComment(NewsComment comment);
    
    /**
     * 回复评论
     *
     * @param comment 评论信息(包含parentId和replyToUserId)
     * @return 是否成功
     */
    boolean replyComment(NewsComment comment);
    
    /**
     * 删除评论
     *
     * @param commentId 评论ID
     * @param userId 操作用户ID(用于权限验证)
     * @return 是否成功
     */
    boolean deleteComment(Long commentId, Long userId);
    
    /**
     * 获取评论回复列表
     *
     * @param parentId 父评论ID
     * @return 回复列表
     */
    NewsComment getCommentWithReplies(Long parentId);
} 